<?php

require_once('constants.php');

/*
Gestion des contenus dynamiques du site
*/



/* Vérifier la validité d'un id de contenu (lettres minuscules autorisées uniquement) */
function content_valid_id($id)
{
	return preg_match('/^([a-zA-Z0-9_]{3,32})$/',$id);
}


/**
 * Obtenir la liste de tous contenus
 * @return record set
 */
function content_get_list()
{
	$sql = 'SELECT *
	        FROM Content;';
	$data = sql_query($sql);
	return $data;
}


/**
 * Obtenir un contenu dynamique
 * @param id: l'id du contenu désiré (string)
 * @return l'array contenant les informations du contenu
 */
function content_get_by_id($id)
{
	$sql = 'SELECT *
	        FROM Content
	        WHERE id = "'.$id.'";';
	$data = sql_query($sql);
	return mysql_fetch_assoc($data);
}


/**
 * Obtenir un contenu dynamique par rapport à son menu
 * @param idmenu: l'id du menu dont on veut le contenu (int)
 * @return l'array contenant les informations du contenu
 */
function content_get_by_menu($idmenu)
{
	$sql = 'SELECT *
	        FROM Content
	        WHERE idMenu = '.$idmenu.';';
	$data = sql_query($sql);
	return mysql_fetch_assoc($data);
}


/**
 * Enregistrer un contenu dynamique dans la BDD
 * @param id, title, content, idmenu: les informations indispensables pour un contenu
 * @return true si l'enregistrement s'est bien passé, false sinon
 */
function content_add($id, $title, $content, $idmenu)
{
	$sql = "INSERT INTO Content(id, title, text, idMenu)
	        VALUES('$id', '$title', '$content', $idmenu);";
	$result = sql_query($sql);
	return $result;
}


/**
 * Modifier un contenu dynamique dans la BDD
 * @param id, title, content, idmenu: les informations à mettre à jour
 * @return true si la modification s'est bien passée, false sinon
 */
function content_update($old_id, $id, $title, $content, $idmenu)
{
	$sql = "UPDATE Content
			SET id = '$id',
				title = '$title',
				text = '$content',
				idMenu = $idmenu
	        WHERE id = '$old_id';";
	$result = sql_query($sql);
	return $result;
}


/**
 * Supprimer un contenu dynamique dans la BDD
 * @param id: l'id (string) du contenu à supprimer
 */
function content_delete($id)
{
	$sql = 'DELETE FROM Content
	        WHERE id = "'.$id.'";';
	$result = sql_query($sql);
}


/**
 * Permet de savoir si un contenu avec l'id spécifié existe déjà
 * @param id: l'id (string) du contenu recherché
 * @return true si un contenu avec l'id spécifié existe, false sinon
 */
function content_exist($id)
{
	$sql = 'SELECT id
			FROM Content
			WHERE id = "'.$id.'";';
	$result = sql_query($sql);
	return mysql_num_rows($result);
}


/**
 * Mettre à jour le menu d'un contenu
 * @param id: l'id (string) du contenu à modifier
 * @param idmenu: l'id du nouveau menu du contenu
 */
function content_set_menu($id, $idmenu)
{
	$sql = 'UPDATE Content
	        SET idMenu = '.$idmenu.'
	        WHERE id = "'.$id.'";';
	$data = sql_query($sql);
}


/**
 * Obtenir le menu lié à un contenu
 * @param id: l'id (string) du contenu dont on veut connaitre le menu
 * @return l'id du menu lié au contenu spécifié
 */
function content_get_menu($id)
{
	$sql = 'SELECT idMenu
	        FROM Content
	        WHERE id = "'.$id.'";';
	$data = mysql_fetch_assoc(sql_query($sql));
	return $data['idMenu'];
}

